The present invention relates to computer networks generally and, more particularly, to a methodology for providing persistent target identification in a Fibre Channel environment.
Fibre Channel (FC) is an integrated set of standards developed by the American National Standards Institute (ANSI). FC allows for a switching network, called a Fabric, to intelligently manage interconnections between a number of connection points, called N_Ports. All that is required of the N_Ports is to initiate a point-to-point connection between one port and a port (F_Port) of the Fabric. However, the presence of a Fabric is not necessary, as FC provides for topologies without a Fabric, as in the case of a simple point-to-point link between two N_Ports, or a Fibre-Channel Arbitrated Loop (FC-AL).
A more complete description of the Fibre-Channel standard can be found in the proposed drafts of the American National Standard for Information Systems (ANSI), Fibre-Channel-Physical and Signaling Interface (FC-PH), Jun. 1, 1994, Rev 4.3, Fibre-Channel-Physical and Signaling Interface-2 (FC-PH-2), Sep. 10, 1996, Rev. 7.4, and Fibre-Channel Physical and Signaling Interface-3 (FC-PH-3), Aug. 19, 1997, Rev. 9.3 which are each hereby incorporated by reference in their entirety.
Communication between N_Ports is based on the transfer of data frames and Link_Control frames resulting from information transfer requests from other N_Ports. The primary function of the Fabric is to receive frames from a source N_Port and route the frames to a destination N_Port. According to the FC standard, each N_Port is assigned a locally unique physical address identifier to identify the N_Port during communication. The locally unique physical address identifier of the destination N_Port is specified in the frames to be transmitted. Each N_Port also has a permanent unique identifier that is worldwide unique. The permanent unique identifier is called a World Wide Node Name and Port Name (WWN). The locally unique physical address identifier is contained in the frame headers. The WWN is part of a group of values called service parameters. Service parameters establish the receive and transmit characteristics of an N_port. The exchange of service parameters is required for communication between N_ports.
The locally unique physical address identifiers (e.g., D_IDs and arbitrated loop physical addresses (AL_PAs)) can be dynamically assigned. For example, the FC-AL attempts to keep arbitrated loop physical addresses (AL_PAs) stable as long as no devices are added to or removed from the loop. If a device is added to or removed from the loop, one or more devices can be assigned a different arbitrated loop physical address (AL_PA). For example, two independent loops are up and running. Devices on loop #1 have acquired arbitrated loop physical addresses (AL_PAs) independent of devices on loop #2. There is a likelihood that a device on loop #1 will have the same arbitrated loop physical address (AL_PA) as a device on loop #2. The devices will attempt to reacquire the previously acquired arbitrated loop physical addresses (AL_PAs) after each loop initialization. The reacquisition of a previous arbitrated loop physical address (AL_PA) should be successful most of the time. However, if the two loops are merged without cycling power on the attached devices, conflicts can occur amongst the previously acquired arbitrated loop physical addresses (AL_PAs). As a result, the arbitrated loop physical addresses (AL_PAs) will be reassigned.
The reassignment of arbitrated loop physical addresses (AL_PAs) can cause problems for any FC-FCP (SCSI/FC) initiators communicating with devices that are FC-FCP targets. When the arbitrated loop physical addresses (AL_PAs) of the FC-FCP targets suddenly change, the initiators can loose track of the targets. For example, it is critical that drive mapping remain constant no matter what happens physically on the loop. Hot swapping a new drive onto the loop can result in a reassignment of arbitrated loop physical addresses (AL_PAs). If a Host running an operating system such as Windows NT (a trademark of Microsoft Corp.) is in the process of saving a file to Drive C, it would be undesirable for the arbitrated loop physical address (AL_PA) of Drive C to suddenly change.
A solution is needed for maintaining a persistent target mapping for a Fibre Channel Initiator between power cycles without requiring large amounts of non-volatile memory. Furthermore, a solution that maintains a persistent target mapping across an initiator power cycle when a loop has had no devices added or removed since a previous power cycling would also be desirable.
The present invention concerns an apparatus comprising a first circuit and a second circuit. The first circuit may be configured to (i) generate a sorted list of permanent unique identifiers according to predetermined criteria and (ii) associate a logical identification with a physical address identifier using the sorted list. The second circuit may be configured to manage communications between a host and a target. The second circuit may (i) communicate with the host using the logical identification and (ii) communicate with the target using the physical address identifier. The communications between the host and the target may be unaffected by changes in the physical address identifier. The function of the first circuit and/or the second circuit may be implemented, among other examples, in software and/or firmware.
The objects, features and advantages of the present invention include providing a methodology for providing persistent target identification in a fibre channel environment that may allow (i) mapping of Fibre Channel node names into a logical name table and/or (ii) Fibre Channel chips to be integrated as SCSI devices into a number of operating system environments.